Contents page

Rules for Tools/Notation Mark Flags


Notation Mark Flags
Others are stored in the "mark" field. 

#define NM_STRING  7       /* mask for tab string number */
                           /* if 0, low E string
                                 1 = low A string
                                 2 = D string
                                 3 = G string
                                 4 = B string
                                 5 = E string
                                 room for more strings in the future
                            */ 
#define NM_DRAWN   8       /* bit that tells if note has yet been drawn */ 
#define NM_STAFF   (1<<4)  /* which staff: 1 = upper staff */ 
#define NM_TOUCHED (1<<5)  /* if note has been touched, don't touch again */

#define NM_BEAM    (31<<6) /* 5 bits for beam height */ 
#define BEAMTOINT(a)     (((a)& NM_BEAM)>>6) 
#define INTTOBEAM(a)     (((a)<<6) & NM_BEAM) 
#define CLEARBEAMBITS(a) ((a) &= ~NM_BEAM)

#define NM_SIGN    (3<<11) /* two bits determine how to plot note */ 
#define NM_SIGN1   (1<<11) 
#define NM_SIGN2   (1<<12) 
#define NOSIGN           0 
#define SHARP            1 
#define FLAT             2 
#define NATURAL          3 
#define NM_NOTATED (1<<13)
#define NM_TABSET  (1<<14) 
#define NM_TABLOW  (1<<15) /* tab note can't be notated (too low) */ 
#define NM_TABHIGH (1<<16) /* tab note can't be notated (too high) */